package it.tcon.xbeedriver;
//Hello
import it.tcon.xbeedriver.XBeeNodeService;
import it.tcon.xbeedriver.XBeeNodeType;
import com.rapplogic.xbee.api.*;

import java.util.Collection;
import java.util.Date;

public interface Node {

	public void setAddress(XBeeAddress address);
	public XBeeAddress getAddress();
	public int[] getAddress64Bit();
	public int[] getAddress16Bit();
	
	public void setType(XBeeNodeType type);
	public XBeeNodeType getType();
	
	/*
	 * Methods for get node setup
	 */
	public XBeeNodeParam getPowerLevel();
	public XBeeNodeParam getPowerMode();
	public XBeeNodeParam getPanID();
	public XBeeNodeParam getOperatingChannel();
	public XBeeNodeParam getInterfaceDataRate();
	
	/*
	 * Methods for packets storage
	 */
	public boolean addNewPacket(XBeeResponse responsePacket);
	public void getPackets(); // TODO getPacket
	
	/*
	 * Methods for service managment
	 */
	public void addService(XBeeNodeService service);
	public void removeService(XBeeNodeService service);
	public Collection<XBeeNodeService> getServices(); //Collection of Set for alpha0.1
	
	public void setLastTimeSaw(Date data);
	public Date getLastTimeSaw();	
}
